home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_100 / 132_01 / lib < prev    next >
Text File  |  1985-08-19  |  5KB  |  382 lines

  1.     #ASM
  2. PIA0    EQU    0FF00H    
  3. PIA1    EQU    0FF20H    
  4. ADATA    EQU    0    
  5. ACNTRL    EQU    1    
  6. BDATA    EQU    2    
  7. BCNTRL    EQU    3    
  8. VDG    EQU    0FF22H    
  9. obj1:
  10.     FDB    obj2    
  11.     FDB    1    
  12.     FDB    2    
  13.     FDB    6    
  14.     FCB    0FFH,0,0FFH,0    
  15.     FCB    0c0H,03FH,003H,0fcH
  16.     FCB    0c0H,03fH,3,0fcH
  17.     FCB    0c0H,03fH,3,0fcH
  18.     FCB    0c0H,03fH,3,0fcH
  19.     FCB    0ffH,0,0ffH,0
  20. obj2:
  21.     FDB    obj3    
  22.     FDB    2    
  23.     FDB    2    
  24.     FDB    8    
  25.     FCB    1,0feH,0,0ffH
  26.     FCB    3,0fcH,080H,07fH
  27.     FCB    7,0f8H,0c0H,03fH
  28.     FCB    0aH,0f5H,0a0H,5fH
  29.     FCB    8,0f7H,020H,0dfH
  30.     FCB    4,0fbH,040H,0bfH
  31.     FCB    3,0fcH,080H,07fH
  32.     FCB    07fH,080H,0fcH,3
  33. obj3:        
  34.     FDB    0
  35.     FDB    3
  36.     FDB    1
  37.     FDB    7
  38.     FCB    01CH,0e3H
  39.     FCB    03eH,0c1H
  40.     fcb    07fH,080H,07fH,080H,07fH,080H
  41.     FCB    03eH,0c1H
  42.     FCB    01cH,0e3H
  43. SCNCTL    EQU    0FFC6H        
  44. SETSCRN
  45.     LDD    2,S        
  46.     STD    SCRADR        
  47.     RTS            
  48. DOSET
  49.     LDX    #SCNCTL        
  50.     LDA    #6        
  51. SETSC1
  52.     TFR    A,B
  53.     ASL    3,S        
  54.     ROL    2,S
  55.     ROLB
  56.     STA    B,X
  57.     DECA
  58.     BPL    SETSC1
  59.     LDD    #0
  60.     STD    SCRADR
  61.     RTS
  62. CLKDAT    EQU    0FF02H
  63. CLKSTAT    EQU    0FF03H
  64. CLKJMP    EQU    010DH    
  65. OLDCLK    EQU    894CH    
  66. JOYRTX    EQU    346    
  67. JOYRTY    EQU    347    
  68. CLOCK
  69.     LDA    CLKSTAT
  70.     BMI    CLOCK1
  71.     RTI        
  72. CLOCK1
  73.     LDA    CLKDAT    
  74.     bsr    joyrx    
  75.     stb    JOYRTX
  76.     bsr    joyry
  77.     stb    JOYRTY
  78.     LDD    SCRADR
  79.     BEQ    CLOCK2    
  80.     PSHS    D    
  81.     BSR    DOSET
  82.     PULS    D    
  83. CLOCK2
  84.     LDD    FLOP
  85.     beq    CLOCKX
  86.     SUBD    #1
  87.     STD    FLOP
  88. CLOCKX
  89.     RTI        
  90. FLOP    RMB    2
  91. SCRADR    RMB    2    
  92. PUTCLK    
  93.     LDD    #CLOCK
  94.     STD    CLKJMP
  95.     RTS
  96. REMCLK        
  97.     LDD    #OLDCLK
  98.     STD    CLKJMP
  99.     RTS
  100. IRQON        
  101.     ANDCC    #0EFH
  102.     RTS
  103. IRQOFF        
  104.     ORCC    #10H
  105.     RTS
  106. SPMOD4
  107.     clra
  108.     sta    0FFC5H
  109.     sta    0FFC3H    
  110.     sta    0FFC0H
  111.     LDA    VDG
  112.     ORA    #0F0H
  113.     STA    VDG
  114.     RTS
  115. joystick:
  116.     FCB    0adH,09fH
  117.     FDB    0a00aH        
  118.     rts
  119. joyry:
  120.     pshs    x,y
  121.     bsr    rysel
  122.     bra    joysam        
  123. joyrx:
  124.     pshs    x,y
  125.     bsr    rxsel    
  126. joysam:
  127.     ldy    #PIA0    
  128.     ldx    #PIA1    
  129. joyrx0:
  130.     ldb     #80H
  131.     stb    ,x    
  132.     lda    ,Y
  133.     bmi    jrx15    
  134.     subb    #40H
  135.     bra    jrx20
  136. jrx15:
  137.     addb    #40H    
  138. jrx20:
  139.     stb    ,x    
  140.     lda    ,y    
  141.     bmi    jrx25    
  142.     subb    #20H
  143.     bra    jrx30
  144. jrx25:
  145.     addb    #20H
  146. jrx30:
  147.     stb    ,x
  148.     lda    ,y
  149.     bmi    jrx35
  150.     subb    #10H
  151.     bra    jrx40
  152. jrx35:
  153.     addb    #10H
  154. jrx40:
  155.     stb    ,x
  156.     lda    ,y
  157.     bmi    jrx45
  158.     subb    #8
  159.     bra    jrx50
  160. jrx45:
  161.     addb    #8
  162. jrx50:
  163.     stb    ,X
  164.     lda    ,Y
  165.     bmi    jrx55
  166.     subb    #4
  167.     bra    jrx60
  168. jrx55:
  169.     addb    #4
  170. jrx60:
  171.     stb    ,x
  172.     lda    ,y
  173.     bmi    jrx65
  174.     subb    #2
  175.     bra    jrx70
  176. jrx65:
  177.     addb    #2
  178. jrx70:
  179.     lsrb
  180.     lsrb        
  181.     clra
  182.     puls    x,y
  183.     rts        
  184. rysel:
  185.     lda    (PIA0 + ACNTRL)
  186.     ora    #8
  187.     sta    (PIA0 + ACNTRL)
  188.     lda    (PIA0 + BCNTRL)
  189.     anda    #0F7H
  190.     sta    (PIA0 + BCNTRL)
  191.     rts
  192. rxsel:
  193.     lda    (PIA0 + ACNTRL)
  194.     anda    #0F7H    
  195.     sta    (PIA0 + ACNTRL)
  196.     lda    (PIA0 + BCNTRL)
  197.     anda    #0F7H    
  198.     sta    (PIA0 + BCNTRL)
  199.     rts
  200. keyboard:
  201.     FCB    0adH,09fH
  202.     FDB    0a000H        
  203.     bne    keybd1        
  204.     FCB    0ccH
  205.     FDB    -1        
  206.     bra    keybdx
  207. keybd1:
  208.     FCB    01fH,089H    
  209.     clra
  210. keybdx:    rts
  211. writeobj:
  212. bufsiz    = 66
  213.     FCB    010H,0aeH,062H    
  214.     FCB    0a6H,067H    
  215.     lsra
  216.     lsra            
  217.     lsra
  218.     FCB    034H,2    
  219.     FCB    0a6H,068H    
  220.     FCB    084H,7    
  221.     FCB    034H,2    
  222.     FCB    0a6H,025H    
  223.     FCB    034H,2    
  224.     FCB    0a6H,027H    
  225.     FCB    034H,2    
  226.     clra
  227.     FCB    034H,2    
  228.     FCB    031H,028H    
  229. line:
  230.     FCB    08eH
  231.     FDB    cline    
  232.     FCB    0e6H,062H    
  233. loop0:
  234.     FCB    0a6H,0a0H    
  235.     FCB    0a7H,080H    
  236.     FCB    0a6H,0a0H    
  237.     FCB    0a7H,089H    
  238.     FDB    bufsiz - 1
  239.     DECB
  240.     bne    loop0
  241.     FCB    06fH,080H    
  242.     FCB    06fH,089H    
  243.     FDB    bufsiz - 1
  244.     FCB    063H,089H    
  245.     FDB    bufsiz - 1
  246.     FCB    0a6H,063H    
  247.     beq    outline        
  248.     FCB    034H,2        
  249. shift:
  250.     FCB    0e6H,063H    
  251.     INCB        
  252.     clra        
  253.     FCB    08eH
  254.     FDB    cline        
  255. clup:
  256.     FCB    066H,080H    
  257.     DECB
  258.     bne    clup
  259.     FCB    0e6H,063H    
  260.     INCB
  261.     FCB    01aH,1        
  262.     FCB    08eH
  263.     FDB    cline + bufsiz    
  264. mlup:
  265.     FCB    066H,080H    
  266.     DECB
  267.     bne    mlup
  268.     FCB    06aH,0e4H    
  269.     bne shift
  270.     FCB    035H,4        
  271. outline:
  272.     FCB    034H,020H    
  273.     FCB    0e6H,0e8H,010H    
  274.     FCB    0a6H,062H    
  275.     FCB    0abH,06cH    
  276.     FCB    03dH        
  277.     FCB    0e3H,0e8H,011H    
  278.     FCB    0ebH,066H    
  279.     FCB    089H,0        
  280.     FCB    01fH,1        
  281.     FCB    010H,08eH
  282.     FDB    cline        
  283.     FCB    0e6H,064H    
  284.     INCB        
  285. outlup:
  286.     FCB    0a6H,084H    
  287.     FCB    0a4H,0a9H    
  288.     FDB    bufsiz
  289.     FCB    0aaH,0a0H    
  290.     FCB    0a7H,080H    
  291.     DECB
  292.     bne     outlup
  293.     FCB    035H,020H    
  294.     FCB    06cH,0e4H    
  295.     FCB    0a6H,0e4H    
  296.     FCB    0a1H,061H    
  297.     bne    line        
  298.     FCB    032H,065H    
  299.     rts            
  300. eraseobj:
  301.     FCB    010H,0aeH,062H    
  302.     FCB    0a6H,067H    
  303.     lsra
  304.     lsra            
  305.     lsra
  306.     FCB    034H,2    
  307.     FCB    0a6H,068H    
  308.     FCB    084H,7    
  309.     FCB    034H,2    
  310.     FCB    0a6H,025H    
  311.     FCB    034H,2    
  312.     FCB    0a6H,027H    
  313.     FCB    034H,2    
  314.     clra
  315.     FCB    034H,2    
  316.     FCB    031H,029H    
  317. eline:
  318.     FCB    08eH
  319.     FDB    mline    
  320.     FCB    0e6H,062H    
  321. eloop0:
  322.     FCB    0a6H,0a1H    
  323.     FCB    0a7H,080H    
  324.     DECB
  325.     bne    eloop0
  326.     FCB    06fH,084H    
  327.     FCB    063H,084H    
  328.     FCB    0a6H,063H    
  329.     beq    eoutline        
  330.     FCB    034H,2        
  331. eshift:
  332.     FCB    0e6H,063H    
  333.     INCB
  334.     FCB    01aH,1        
  335.     FCB    08eH
  336.     FDB    mline    
  337. emlup:
  338.     FCB    066H,080H    
  339.     DECB
  340.     bne    emlup
  341.     FCB    06aH,0e4H    
  342.     bne eshift
  343.     FCB    035H,4        
  344. eoutline:
  345.     FCB    034H,020H    
  346.     FCB    0e6H,0e8H,010H    
  347.     FCB    0a6H,062H    
  348.     FCB    0abH,06cH    
  349.     FCB    03dH        
  350.     FCB    0e3H,0e8H,011H    
  351.     FCB    0ebH,066H    
  352.     FCB    089H,0        
  353.     FCB    01fH,1        
  354.     FCB    010H,08eH
  355.     FDB    mline        
  356.     FCB    0e6H,064H    
  357.     INCB        
  358. eoutlup:
  359.     FCB    0a6H,084H    
  360.     FCB    0a4H,0a0H    
  361.     FCB    0a7H,080H    
  362.     DECB
  363.     bne     eoutlup
  364.     FCB    035H,020H    
  365.     FCB    06cH,0e4H    
  366.     FCB    0a6H,0e4H    
  367.     FCB    0a1H,061H    
  368.     bne    eline        
  369.     FCB    032H,065H    
  370.     rts            
  371. cline:    ORG * + 66
  372. mline:    ORG * + 66
  373.     #ENDASM
  374. 2H    
  375.     FCB    0a6H,067H    
  376.     lsra
  377.     lsra            
  378.     lsra
  379.     FCB    034H,2    
  380.     FCB    0a6H,068H    
  381.     FCB    084H,7    
  382.     FCB    034H,2